/*
 * $Id: LocationDTModel.java 43 2013-04-19 15:16:56Z gabakyan $
 * $Author: gabakyan $
 * $Revision: 43 $
 * $Date: 2013-04-19 15:16:56 +0000 (Fri, 19 Apr 2013) $
 *
 * Copyright (c) 2013 Supply Chain Intelligence (SCI), Inc.
 * http://www.scintelligence.com/, Email: info@scintelligence.com
 * All rights reserved.
 *
 * This file is part of Logistics Map.
 *
 * Logistics Map is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 3 of the License.
 *
 * Logistics Map is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Logistics Map.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.sci.logisticsmap.service.model;

import com.sci.logisticsmap.support.model.geocoding.DirectionsRoute;
import com.sci.logisticsmap.support.model.geocoding.LatLng;

import java.io.Serializable;
import java.util.List;

/**
 * The Location base model.
 *
 * @author gabakyan@gmail.com (Last modified by $Author: gabakyan $)
 * @version $Revision: 43 $
 *
 * @see com.sci.logisticsmap.service.model.location.DCDTModel
 * @see com.sci.logisticsmap.service.model.location.DeliveryDTModel
 * @see com.sci.logisticsmap.service.model.location.PickupDTModel
 * @see com.sci.logisticsmap.service.model.location.ReturnDTModel
 */
@SuppressWarnings("unused")
public class LocationDTModel implements Serializable {
    /**
     * The serial version id.
     */
    private static final long serialVersionUID = 1L;

    /**
     * The id.
     */
    private String id;
    /**
     * The type.
     */
    private String type;
    /**
     * The label.
     */
    private String label;
    /**
     * The address.
     */
    private String address;
    /**
     * The city.
     */
    private String city;
    /**
     * The state.
     */
    private String state;
    /**
     * The zip Code.
     */
    private String zipCode;
    /**
     * The country.
     */
    private String country;
    /**
     * The Lat & Lng.
     */
    private LatLng latLng;
    /**
     * The routes.
     */
    private List<DirectionsRoute> routes;
    /**
     * The position.
     */
    private int position;
    /**
     * The status.
     */
    private String status;

    /**
     * The deleted flag.
     */
    private boolean deleted;

    /**
     * The duration.
     */
    private int duration;
    /**
     * The distance.
     */
    private int distance;

    /**
     * The default constructor.
     * Creates a new Location base model.
     */
    public LocationDTModel() {
    }

    /**
     * Creates a new Location base model.
     *
     * @param type The type.
     */
    public LocationDTModel(String type) {
        this.type = type;
    }

    /**
     * Gets the id.
     *
     * @return The id.
     */
    public String getId() {
        return id;
    }

    /**
     * Sets the id.
     *
     * @param id The id.
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Gets the type.
     *
     * @return The type.
     */
    public String getType() {
        return type;
    }

    /**
     * Sets the type.
     *
     * @param type The type.
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * Gets the label.
     *
     * @return The label.
     */
    public String getLabel() {
        return label;
    }

    /**
     * Sets the label.
     *
     * @param label The label.
     */
    public void setLabel(String label) {
        this.label = label;
    }

    /**
     * Gets the address.
     *
     * @return The address.
     */
    public String getAddress() {
        return address;
    }

    /**
     * Sets the address.
     *
     * @param address The address.
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * Gets the city.
     *
     * @return The city.
     */
    public String getCity() {
        return city;
    }

    /**
     * Sets the city.
     *
     * @param city The city.
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * Gets the state.
     *
     * @return The state.
     */
    public String getState() {
        return state;
    }

    /**
     * Sets the state.
     *
     * @param state The state.
     */
    public void setState(String state) {
        this.state = state;
    }

    /**
     * Gets the zip code.
     *
     * @return The zip code.
     */
    public String getZipCode() {
        return zipCode;
    }

    /**
     * Sets the zip code.
     *
     * @param zipCode The zip code.
     */
    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    /**
     * Gets the country.
     *
     * @return The country.
     */
    public String getCountry() {
        return country;
    }

    /**
     * Sets the country.
     *
     * @param country The country.
     */
    public void setCountry(String country) {
        this.country = country;
    }

    /**
     * Gets the Lat & Lng.
     *
     * @return The Lat & Lng.
     */
    public LatLng getLatLng() {
        return latLng;
    }

    /**
     * Sets the Lat & Lng.
     *
     * @param latLng The Lat & Lng.
     */
    public void setLatLng(LatLng latLng) {
        this.latLng = latLng;
    }

    /**
     * Gets the routes.
     *
     * @return The routes.
     */
    public List<DirectionsRoute> getRoutes() {
        return routes;
    }

    /**
     * Sets the routes.
     *
     * @param routes The routes.
     */
    public void setRoutes(List<DirectionsRoute> routes) {
        this.routes = routes;
    }

    /**
     * Gets the position.
     *
     * @return The position.
     */
    public int getPosition() {
        return position;
    }

    /**
     * Sets the position.
     *
     * @param position The position.
     */
    public void setPosition(int position) {
        this.position = position;
    }

    /**
     * Gets the status.
     *
     * @return The status.
     */
    public String getStatus() {
        return status;
    }

    /**
     * Sets the status.
     *
     * @param status The status.
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * Gets the deleted flag.
     *
     * @return The deleted flag.
     */
    public boolean isDeleted() {
        return deleted;
    }

    /**
     * Sets the deleted flag.
     *
     * @param deleted The deleted flag.
     */
    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    /**
     * Gets the duration.
     *
     * @return The duration.
     */
    public int getDuration() {
        return duration;
    }

    /**
     * Sets the duration.
     *
     * @param duration The duration.
     */
    public void setDuration(int duration) {
        this.duration = duration;
    }

    /**
     * Gets the distance.
     *
     * @return The distance.
     */
    public int getDistance() {
        return distance;
    }

    /**
     * Sets the distance.
     *
     * @param distance The distance.
     */
    public void setDistance(int distance) {
        this.distance = distance;
    }
}
